In the field of data network management and service provisioning, software applications running on, and hardware associated with, computing platforms such as workstations, computers, terminals, etc. are used in combination to provide network management and service provisioning solutions.
FIG. 1 is a schematic diagram showing data network elements participating in a data transport network and data network elements used in an associated data network management and data service provisioning environment.
A data transport network 100 includes data network nodes such as, but not limited to, data switching nodes 102, and interconnecting data transport links 104. The data transport network 100 enables the conveyance of data between data network nodes associated with service providers 110 and data network nodes associated with service users 112. Both service provider 110 and the service user 112 data network nodes are said to be connected to the data transport network 100 via data transport uplinks 106 to enable the conveyance of data therebetween.
Although only data switching nodes 102 are shown in FIG. 1, the invention is not limited thereto; data transport networks may also include a large variety of data network elements (not shown) such as: routers, bridges, Domain Name Service (DNS) servers, firewalls, multiplexers, demultiplexers, etc.
A data connection 120 presented in FIG. 1 is shown to provision a data service during a corresponding data session between a service provider 110 and a service user 112.
An uplink 108 connects a data network Management Local Area Network (MLAN) 130 to the data transport network 100. The MLAN 130 services a network management and service provisioning hub 132 comprising computing platforms such as legacy computer 140, legacy workstation 142, terminal 144, current computer 150, current workstation 152, advanced interface 154, etc.
Computing platforms in existence include: legacy, current, state-of-the-art, etc. Factors considered in the above classification include: age, capabilities, length of operation, costs of operation, current stage of the development cycle, etc. When reference is made herein to a computer, the computer is understood to include at least one processor and optionally a human-machine interface. When reference is made to a terminal, the terminal is understood to include a computer having limited data processing capabilities but typically used for its human-machine interface capabilities.
Ancillary MLAN connected data network nodes enabling network management and service provisioning include but are not limited to a database 134. The management hub 132 may make use of other MLAN connected data network nodes or devices (not shown) such as DNS servers, relational databases, firewalls, etc.
As part of the network management and service provisioning it may be necessary to employ: monitoring equipment, statistics gathering equipment, statistics processing equipment, storage equipment, statistical information storage database, etc. These devices may be connected to the data transport network 100 directly. All of these devices although not shown, can either form an integral part of data network nodes or may exist as distinct data network nodes themselves.
At least one command and control interface including an output display interface and an input interface is necessary for an analyst to view and interact with a current state of at least a portion of a managed data transport network and/or at least a portion of provisioned service.
In the field, new data services are being demanded by market drivers resulting in a constant development thereof. Existing services are being extended. At the same time new data network equipment is being developed. The result is that a large body of software application code for network management and service provisioning has been and is being developed. This body of software application code today is regarded as being categorized into legacy software application code and current software application code.
Legacy software application code typically has been developed and deployed some time ago. Legacy software application code typically was designed for and typically runs on legacy computers, and in some ways is closely related to the state of the art at the time of the development thereof.
Typically the legacy computers running legacy software application code are no longer sold, maintained and/or supported actively. Another important factor regarding legacy software application code relates to original developer personnel who have been assigned to other projects. All these factors compound resulting in increased costs for supporting legacy software application code curtailing further development thereof.
Current software application code is characterized as having been developed rather recently with some features still being developed, fine tuned and maintained. The current software application code is typically engineered to run on current computers that are available on the market, are still actively maintained and supported.
Therefore in providing a network management and service provisioning solution there are a number of features and advantages that must be taken into consideration. Current computers typically have superior capabilities in comparison to legacy computers. Although considered relatively old, legacy computers include special purpose computers. Computer hardware cost is another factor.
FIG. 2 is a schematic diagram of a computer executing application code in managing a data transport network and/or provisioning data services.
The computer, making use of a processor schematically shown at 200, executes 202 a body of application code 204 to obtain 206 a data network state of the data transport network 100. The current state of the data transport network 100 and/or the supported services are displayed 208 on a display interface 210 for analysis by an analyst 212. The analyst 212 uses an input interface 214 such as, but not limited to, a keyboard and a pointing device to specify 216, and cause commands to be issued 218 to data network equipment in the data transport network 100 to effect a change in the state of the data transport network 100.
The computer using processor 200 may, in the process of displaying a current data network state and/or in the process of issuing commands to the data transport network, transact 220 with other data network nodes providing data network management services such as a database 134.
At a typical hub 132, legacy software application code and current software application code is run on legacy and current computers in combination to provide network management and service provisioning solutions. There are various ways of achieving the running of legacy and current software application code in combination.
FIG. 3 is a schematic diagram showing details of a network management and service provisioning environment facilitating the presentation of a current data network state and providing an interaction therewith.
A legacy computer 310 executes 312 legacy software application code 314 and outputs to an interface including a display interface 302 and an input interface 304. A current computer 320 executes 322 current software application code 324 and outputs to the same interface.
In providing a data network management and data service provisioning solution, the simultaneous display of the output generated by the legacy software application code 310 and the current software application code 320 enables a consolidated view of a then current data network state. Running on different computers 310, 320 the legacy 314 and current 324 applications are “not aware” of each other. The data network state is only apparent to the analyst 212 because of the combined output displayed on the common display interface 302. In making reference to application code “not being aware” of other application code, it is understood that the combination of application code does not have facilities for interaction therebetween including a lack of facilities for information exchange.
In providing a data network management and/or a service provisioning solution using a combination of application code, and due to the lack of information exchange facilities between the applications 314 and 324, the analyst 212 is typically required to make repeated information entries in using applications 314, 324. The repeated information entry actions are time consuming and error prone leading to an inefficient provisioning of the solution.
A limited integration can be provided via an operating system associated with the display interface 302. Such information exchange facilities available are limited to text level “cut/copy/paste” functionality as a remedy to repeated multiple entry tasks. Although somewhat helpful, the available information for cut/copy/paste is limited to displayed information which leads to an information exchange having a very shallow scope. Further, these facilities are not adequate, as it is typically the case, when the multiple entries, although pertaining to the same information, do not have the same data entry format (e.g. date/time formats, units of measure, etc.)
A remedy to the lack of awareness includes extending the legacy software application code 314 to include the features of the current software application code. As pointed out above, the legacy software application code 314 may have been developed specifically for the legacy computers 310. In some cases the legacy software application code 314 was designed pushing the legacy computers 310 to their performance limits; therefore extending the legacy software application code 314 to include the new features would severely affect the performance thereof. Typically legacy code is regarded as stable leading to a reluctance to fix that which is not broken. Further, using this approach would not provide a long term solution since new features are demanded on a continuing basis by market drivers.
Another remedy to the lack of awareness includes the re-coding of the legacy software application code 314 to execute on current computers 320. As pointed above, the legacy software application code 314 may have been developed specifically for the legacy computers 310 taking advantage of specific features of the legacy computers 310; the current computers 320 although superior in may ways may not necessarily have the specific features to enable the legacy software application code 314 to efficiently execute 322 thereon. As such, the legacy software application code 314 would need to be reengineered for the current computers 320 at considerable cost. Once again using this approach does not provide a long term solution as computers are under an ongoing development and as new computers become available the re-coding would have to be undertaken again.
The network management and service provisioning solution may be provided such that legacy 314 and current 324 application code is run on the same computer. This arrangement may not always be viable. Legacy computers 310 are typically short on resources although providing unique features; while current computers 320 are typically resource rich at reduced costs and typically featureless. Nevertheless market drivers push for more and more services, and more and more service features while at the same time service providers have a need to reduce operational overheads by reducing box count. In the art, the term “box count” refers to the number of computers used in effecting network management and service provisioning in the hub 132.
Typical network management and service provisioning solutions are provided employing large monolithic systems provisioning all services and service features. Whenever such large monolithic systems are started up, all components provisioning all services and all service features are started up. Starting up all components, including all less frequently used components, results in very high levels of unnecessary resource utilization—further leading to reduced performance and unscalable solutions.
There therefore is a need to provide integration between legacy and current software application code used in combination to provide network management and service provisioning solutions at reduced operational overheads.